/*
 * Exclusiones.h
 *
 *  Created on: 06/06/2010
 *      Author: grupo Klow
 */

#ifndef EXCLUSIONES_H_
#define EXCLUSIONES_H_


#include <list>

class Exclusiones {

private:

	std::list<char>* exclusion;//lista de exclusiones

public:

	/**
	 * Constructor de Exclusiones
	 */
	Exclusiones();
	/**
	 * Destructor: libera recursos
	 */
	~Exclusiones();


	/**
	 * Incorpora el caracter pasado por parametro a la lista de
	 * exclusiones siempre y cuando no este previamente en la
	 * lista
	 */
	void excluir(char c);

	/**
	 * Limpia la lista de exclusiones
	 */
	void limpiarExclusion();

	/**
	 * @return:
	 * true: si el caracter pasado por parametro se encuentra en
	 * la lista de exclusiones.
	 * false: en caso contrario
	 */
	bool estaExcluido(char c);

	/**
	 * @return un lista con los elementos excluidos
	 */
	std::list<char> get_list_iterator();
};

#endif /* EXCLUSIONES_H_ */
